Get Multiple Entries API
Overview
Retrieves multiple entries from a specific data source within an app. This endpoint supports:
- Advanced filtering with AND/OR conditions
- Sorting
- Pagination
- Partial field selection
- Reference field expansion
- Multiple response modes
Endpoint
POST https://api.myboardtoday.com/app/:app_id/source/:source_id/entries
Path Parameters
Parameter | Type | Required | Description |
---|---|---|---|
app_id | UUID | Yes | Unique identifier of the app. |
source_id | UUID | Yes | Unique identifier of the data source. |
Headers
Header | Required | Description |
---|---|---|
x-api-key | Yes | API key used for authentication. |
Query Parameters
Parameter | Type | Required | Default | Description |
---|---|---|---|---|
order_params | Object | No | {} | Key-value pairs where the key is a field name and the value is the sort order ("asc" or "desc" ). |
filter_params | Array of Arrays | No | [] | Array of filter groups. Each inner array is a group of AND conditions; the outer array represents OR between groups. |
page_size | Integer | No | 10 | Number of entries to return per page. |
page_token | String | No | "" | Token for pagination. Obtained from next_token in the previous response. |
limit | Integer | No | null | Total number of entries to retrieve, regardless of pagination. |
fields | Array of Strings | No | [] | Specific fields to include in the response. |
use_named | Boolean | No | false | If true , use human-readable field names instead of default keys like k_5OvN3 . Required when referencing fields by name. |
mode | String | No | "entries_only" | Controls response structure. See Response Modes. |
ref | Object | No | {} | Configuration for fetching reference fields. Keys are field names; values are nested query objects (supports fields , filter_params , etc.). |
!By default, field keys are system-generated (e.g., k_5OvN3). Set "use_named": true in your request to use schema-defined names like "name" or "status".
Filter Parameters Format
The filter_params
array enables complex filtering using AND/OR logic.
Example
[
[
{ "field": "name", "op": "=", "val": "James" },
{ "field": "age", "op": ">", "val": 30 }
],
[{ "field": "name", "op": "=", "val": "Bond" }]
]
This will return entries that match:
name = "James"
ANDage > 30
, ORname = "Bond"
Supported Operators
=
>
<
>=
<=
not
in
not_in
contains
not_contains
starts_with
between
exists
arrayContainsField
!Overly complex filters on large datasets may affect performance.
!For better performance, set the "Searchable" flag to true on frequently queried fields (like "slug" or "email"). This adds an index under the hood, greatly improving filtering speed for those fields.
Reference Field Querying
Use the ref
parameter to fetch data from fields that reference other internal sources.
Reference Field Types
- Single Choice of Another Internal Source
- Multiple Choice of Another Internal Source
- Multiple Choice of Another Source with Counter
Example: Fetching Reference Fields
{
"use_named": true,
"fields": ["created_by", "comments"],
"ref": {
"created_by": {
"fields": ["name", "email"]
},
"comments": {
"limit": 3,
"order_params": {
"created_at": "desc"
},
"fields": ["message", "created_at"]
}
}
}
Response Modes
Mode | Description |
---|---|
entries_only | Returns only the list of entries. |
schema_entries | Returns entries and the data source schema. |
key_fields | Returns entries with only their key fields. |
sample | Returns a small sample of entries. |
object_schema_fields | Maps entries to their schema object format. |
schema_only | Returns only the data source schema, without entries. |
Example Queries
1. Fetch First 10 Entries With Named Fields
{
"use_named": true,
"fields": ["name", "email"]
}
2. Filter by Named Fields
{
"use_named": true,
"filter_params": [[{ "field": "status", "op": "=", "val": "active" }]]
}
3. Date Range + Sorting
{
"use_named": true,
"order_params": { "created_at": "desc" },
"filter_params": [
[
{
"field": "created_at",
"op": "between",
"val": ["2024-07-01", "2024-07-31"]
}
]
]
}
4. Fetch Nested Reference Fields
{
"use_named": true,
"fields": ["order_id", "customer", "products"],
"ref": {
"customer": {
"fields": ["first_name", "last_name", "email"]
},
"products": {
"fields": ["product_name", "unit_price"]
}
}
}
5. Fetch with Pagination
{
"use_named": true,
"page_size": 20,
"page_token": "eyJwYWdlIjozfQ=="
}
6. Full Complex Query
{
"use_named": true,
"filter_params": [
[
{ "field": "status", "op": "in", "val": ["active", "pending"] },
{ "field": "priority", "op": ">", "val": 3 }
]
],
"order_params": {
"updated_at": "desc"
},
"fields": ["status", "priority", "assigned_to"],
"ref": {
"assigned_to": {
"fields": ["name", "email"]
}
},
"page_size": 10,
"limit": 100
}
Report Bugs, Request New Features, and Win $50 Every Month
We value your precious feedback. Please contact us when you find a bug or would like to request a new feature. (In the main panel, click on the bob logo on the top left corner, then in the Dropdown menu click on “contact for bugs or new features”). Every month we will select an “opinion leader” and reward him/her with $50 in cash.